//package com.krtech.wecard.module.mayi.task;
//
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.map.MapUtil;
//import cn.hutool.core.util.StrUtil;
//import cn.hutool.http.HttpRequest;
//import cn.hutool.http.HttpResponse;
//import cn.hutool.http.HttpUtil;
//import cn.hutool.json.JSONObject;
//import cn.hutool.json.JSONUtil;
//import com.krtech.wecard.module.mayi.entity.MayiLiuliang;
//import com.krtech.wecard.module.mayi.service.MayiLiuliangService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import java.math.BigDecimal;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Locale;
//
//
//@Component
//@Slf4j
//public class MayiLiuliangTask {
//
//
//    @Autowired
//    private MayiLiuliangService liuliangService;
//
//    @Scheduled(cron = "0 0/10 * * * ?")
//    public void liuliangTask(){
//        log.info("蚂蚁流量定时任务:"+ DateUtil.now());
//
//
//        List<MayiLiuliang> liuliangList = liuliangService.list();
//        for (MayiLiuliang liuliang:liuliangList){
//            try {
//                updateLiuliangData(liuliang);
//                Thread.sleep(12000);
//            }catch (Exception e){
//                e.printStackTrace();
//            }
//        }
//    }
//
//    public void updateLiuliangData(MayiLiuliang liuliang){
//        // 判断以188开头还是139开头，然后访问不同的链接
//        //188 http://ww.wxggg.com//index/ka_ban/getKabanlogn?openid=-1&account=188113439
//        //139 http://ww.youxun.tianiot.com//index/ka_ban/getKabanlogn?openid=-1&account=1390117193
//
//        if (StrUtil.startWith(liuliang.getCode(),"188")){
//            HttpRequest get = HttpUtil.createGet("http://ww.wxggg.com//index/ka_ban/getKabanlogn?openid=-1&account=" + liuliang.getCode());
//            HttpResponse execute = get.execute();
//            JSONObject liuliangJson = JSONUtil.parseObj(execute.body());
////            log.info("188info:"+execute.body());
//            String liuliangShengyu = JSONUtil.parseObj(liuliangJson.get("kaban")).get("liuliang_shenyu").toString();
//            String daoqishijian = JSONUtil.parseObj(liuliangJson.get("kaban")).get("detail_expired").toString();
//
//            liuliang.setUpdatedTime(new Date());
//            liuliang.setExpireTime(DateUtil.parseDateTime(daoqishijian));
//            liuliang.setShengyuLiuliang(liuliangShengyu);
//            liuliangService.updateById(liuliang);
//        }else  if (StrUtil.startWith(liuliang.getCode(),"139")){
//            HttpRequest get = HttpUtil.createGet("http://ww.youxun.tianiot.com//index/ka_ban/getKabanlogn?openid=-1&account=" + liuliang.getCode());
//            HttpResponse execute = get.execute();
//            JSONObject liuliangJson = JSONUtil.parseObj(execute.body());
//
//            String liuliang_count = JSONUtil.parseObj(liuliangJson.get("kaban")).get("liuliang_count").toString();
////            String liuliangShengyu = JSONUtil.parseObj(liuliangJson.get("kaban")).get("liuliang_shenyu").toString();
//            String daoqishijian = JSONUtil.parseObj(liuliangJson.get("kaban")).get("detail_expired").toString();
//
//            String liuliangRealUse = JSONUtil.parseObj(liuliangJson.get("kaban")).get("liuliang_real_use").toString();
//
//            liuliang.setUpdatedTime(new Date());
//            liuliang.setExpireTime(DateUtil.parseDateTime(daoqishijian));
//
//            String liuliangShengyu = new BigDecimal(liuliang_count).subtract(new BigDecimal(liuliangRealUse)).toString();
//            liuliang.setShengyuLiuliang(liuliangShengyu);
//            liuliangService.updateById(liuliang);
//        }else if (StrUtil.startWith(liuliang.getCode(),"184")){
//            // 1.根据号码获得token
//            HttpRequest getTokenPost = HttpUtil.createPost("http://yunmao.88zhiot.cn/index/index/getToken");
//            HashMap<String, String> getTokenParams = new HashMap<>();
//            getTokenParams.put("kaban",liuliang.getCode());
//            String getTokenParamsStr = JSONUtil.toJsonStr(getTokenParams);
//            getTokenPost.body(getTokenParamsStr);
//            String getTokenParamsBody = getTokenPost.execute().body();
//            String token = JSONUtil.parseObj(JSONUtil.parseObj(getTokenParamsBody).get("data")).get("token").toString();
//
//            // 2.根据token获得用户信息
//            HttpRequest kanbanInfo = HttpUtil.createPost("http://yunmao.88zhiot.cn/index/api/KabanInfo");
//            HashMap<String, String> getKanbanInfo = new HashMap<>();
//            getKanbanInfo.put("token",token);
//            String getKanbanInfoStr = JSONUtil.toJsonStr(getKanbanInfo);
//            kanbanInfo.body(getKanbanInfoStr);
//            String kanbanInfoBody = kanbanInfo.execute().body();
//            String liuliangShengyu = JSONUtil.parseObj(JSONUtil.parseObj(kanbanInfoBody).get("data")).get("flow_residual").toString();
//            //格式 25/01/31
//            String end_time = JSONUtil.parseObj(JSONUtil.parseObj(kanbanInfoBody).get("data")).get("end_time").toString();
//            end_time = "20"+end_time;
//            String daoqishijian = formatDate(end_time);
//
//            liuliang.setUpdatedTime(new Date());
//            liuliang.setExpireTime(DateUtil.parseDateTime(daoqishijian));
//
//            //现在单位是g
//            BigDecimal liuliangShengyuBigG = new BigDecimal(liuliangShengyu);
//            BigDecimal liuliangShengyuMultiply = liuliangShengyuBigG.multiply(new BigDecimal("1000.00"));
//            liuliang.setShengyuLiuliang(liuliangShengyuMultiply.toString());
//            liuliangService.updateById(liuliang);
//        }
//
//
//    }
//
//
//    public static String formatDate(String inputDateStr) {
//        // 定义输入日期字符串的格式（年/月/日）
//        String inputPattern = "yyyy/MM/dd";
//
//        // 将输入日期字符串解析为Date对象
//        java.util.Date date = DateUtil.parse(inputDateStr, inputPattern);
//
//        // 定义输出日期字符串的格式（这里我们仍然使用年-月-日格式作为示例）
//
//        // 注意：虽然输入已经是yyyy/MM/dd格式，但我们仍然可以将其转换为相同的格式或其他格式
//        // 将Date对象格式化为输出日期字符串
//        String outputDateStr = DateUtil.formatDateTime(date);
//
//        // 打印输出日期字符串
//        return outputDateStr;
//
//    }
//}
